﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using MySql.Data.MySqlClient;
using MySql.Data.Types;
using HelpSystem;

namespace DAOLayer
{
    public class CDAOTransport
    {
        //Страховки
        //Ремонты
        //Данные текущего круга если есть

        private DataRow m_row;
        /// <summary>
        /// Возвращает представление данных объекта в виде строки таблицы в базе данных.
        /// </summary>
        public DataRow Row
        {
            get
            {
                return m_row;
            }
        }

        public CDAOTransport(DataRow Row)
        {
            m_row = Row;
        }

        /// <summary>
        /// Идентификатор транспортного средства
        /// </summary>
        public Int32 ID
        {
            get
            {
                return Convert.ToInt32(Row["transport_id"]);
            }
            set
            {
                Row["transport_id"] = value;
            }
        }
        /// <summary>
        /// Гос. номер траснпортного средства
        /// </summary>
        public String GovNumber
        {
            get
            {
                return (String)Row["gov_number"];
            }
            set
            {
                Row["gov_number"] = value;
            }
        }
        /// <summary>
        /// Идентияикатор типа транспортного средства
        /// </summary>
        public int TransportTypeID
        {
            get
            {
                return (int)Row["transport_type_id"];
            }
            set
            {
                try
                {
                    Row["transport_type_id"] = value;
                }
                catch (Exception exc)
                {
                    if (exc.InnerException != null)
                        Documentation.ShowError(exc.InnerException.Message);
                    else
                        Documentation.ShowError(exc.Message);
                }
            }
        }
        /// <summary>
        /// Тип транспортного срества преобразованный к строке
        /// </summary>
        public String TransportType
        {
            get
            {
                return m_TransportType;
            }
            set
            {
                m_TransportType = value;
            }
        }
        private String m_TransportType = "Not implemented.";
        /// <summary>
        /// VIN (Vehicle Identification Number) транспортного средства
        /// </summary>
        public String VIN
        {
            get
            {
                return (String)Row["vin"];
            }
            set
            {
                try
                {
                    Row["vin"] = value;
                }
                catch (Exception exc)
                {
                    Documentation.ShowError(exc.Message);
                }
            }
        }
        /// <summary>
        /// Дата последнего тех. осмотра
        /// </summary>
        public DateTime DateTO
        {
            get
            {
                return (DateTime)Row["date_to"];
            }
            set
            {
                Row["date_to"] = value;
            }
        }
    }
    
}
